package com.ruoyi.project.common.robot.service.impl;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.security.ShiroUtils;
import com.ruoyi.common.utils.text.Convert;
import com.ruoyi.project.common.robot.domain.Robot;
import com.ruoyi.project.common.robot.mapper.RobotMapper;
import com.ruoyi.project.common.robot.service.IRobotService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.UUID;

/**
 * 机器人用户Service业务层处理
 *
 * @author shixiangwen
 * @date 2020-05-19
 */
@Service
public class RobotServiceImpl implements IRobotService {
    @Autowired
    private RobotMapper robotMapper;

    /**
     * 查询机器人用户
     *
     * @param id 机器人用户ID
     * @return 机器人用户
     */
    @Override
    public Robot selectRobotById(Long id) {
        return robotMapper.selectRobotById(id);
    }

    /**
     * 查询机器人用户列表
     *
     * @param robot 机器人用户
     * @return 机器人用户
     */
    @Override
    public List<Robot> selectRobotList(Robot robot) {
        return robotMapper.selectRobotList(robot);
    }

    /**
     * 新增机器人用户
     *
     * @param robot 机器人用户
     * @return 结果
     */
    @Override
    public int insertRobot(Robot robot) {
        robot.setCreateTime(DateUtils.getNowDate());
        robot.setCreateBy(ShiroUtils.getLoginName());
        robot.setUid(UUID.randomUUID().toString().replace("-", ""));
        return robotMapper.insertRobot(robot);
    }

    /**
     * 修改机器人用户
     *
     * @param robot 机器人用户
     * @return 结果
     */
    @Override
    public int updateRobot(Robot robot) {
        robot.setUpdateTime(DateUtils.getNowDate());
        robot.setUpdateBy(ShiroUtils.getLoginName());
        return robotMapper.updateRobot(robot);
    }

    /**
     * 删除机器人用户对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteRobotByIds(String ids) {
        return robotMapper.deleteRobotByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除机器人用户信息
     *
     * @param id 机器人用户ID
     * @return 结果
     */
    @Override
    public int deleteRobotById(Long id) {
        return robotMapper.deleteRobotById(id);
    }
}
